article,header,footer,section,aside,main,menu
figcaption,figure,p
fieldset,div{
    box-sizing: border-box;
    display: block;
    margin: 0;
    padding: 0;
}

body>:only-child{
    min-height: 100%;
    width: 100%;
}
.layout-hcenter-vcenter
{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}
.layout-vcenter-hcenter
{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

.layout-hcenter{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items:stretch;
}
.layout-vcenter{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items:stretch;
}
.layout-full {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: stretch;
}

.layout-full > * {
    height: auto !important;
    flex-grow: 1;
}
.layout-hbox {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}
.layout-hbox-between{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.layout-hbox-around{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: stretch;
}
.layout-hbox> .grow
{
    flex: auto;
}
.layout-vbox {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}
.layout-vbox-around{
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-around;
    align-items: stretch;
}

.layout-vbox-between{
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.layout-vbox > .grow
{
    flex: auto;
}
.layout-hcell {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items:center;
}
.layout-hcell-between{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items:center;
}

.layout-hcell-around{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items:center;
}
.layout-hcell> .grow
{
    flex: auto;
}
.layout-vcell {
    display: flex;
    flex-direction: vcell;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}
.layout-vcell-around{
    display: flex;
    flex-flow: vcell nowrap;
    justify-content: space-around;
    align-items: center;
}

.layout-vcell-between{
    display: flex;
    flex-flow: vcell nowrap;
    justify-content: space-between;
    align-items: center;
}

.layout-vcell > .grow
{
    flex: auto;
}



